In general, an input pointing device for a computer graphical user interface ("GUI") has a single assigned function, usually the positioning of a displayed pointer and use of related control buttons for selecting a displayed object pointed to by the pointer.
In some information processing systems it is possible, through the GUI and using the pointer and the control buttons, to alter the cooperation between the manipulation of a pointing device and the displayed pointer. This change is typically accomplished by means of a "settings" window or an appropriate dialog box. For example, it is possible to use a pointing device to change the speed of movement, the size, color, and direction of the displayed pointer, to select a specific displayed icon as the pointer, and whether or not the displayed pointer has a "tail" as it moves. For such changes in the manner in which a pointer responds to manipulation of a pointing device, "settings" windows and dialog boxes have proven quite adequate and will continue to be used.
There are other, newer uses for pointing devices in information processing systems for which it is desirable to both instantaneously and unobtrusively switch from one operating mode to another in a natural and easy way. Such manner of change is not possible with the typical "settings" window or dialog box. Examples of a need for simplicity and naturalness include game playing, document scrolling, and navigation. In such applications a user may need to switch rapidly between standard pointing and a specific different way of having the pointing device manipulation interpreted and displayed. For these newer more demanding applications, "settings" windows and dialog boxes are too slow and seem unnatural.
What is needed is some simple, natural, and easy to operate mechanism for rapidly switching a pointing device between alternative operating modes.